package com.edu.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 报告表
 * </p>
 *
 * @author jixuewei
 * @since 2023-01-12
 */
@ApiModel(value = "Report对象", description = "报告表")
public class Report implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private Integer projectId;

    private Integer taskId;

    @ApiModelProperty("汇报的学生名字")
    private String stuName;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date reportTime;

    @ApiModelProperty("汇报内容")
    private String content;

    @ApiModelProperty("遇到的难题")
    private String difficulties;

    @ApiModelProperty("困难程度，0容易，1中等，2困难")
    private Byte difficultyLevel;

    @ApiModelProperty("0已读，1已给出建议，2未读")
    private Byte status;

    @ApiModelProperty("给出的建议")
    private String suggest;

    private Integer stuId;


    @TableField(exist = false)
    private Student student;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getProjectId() {
        return projectId;
    }

    public void setProjectId(Integer projectId) {
        this.projectId = projectId;
    }

    public Integer getTaskId() {
        return taskId;
    }

    public void setTaskId(Integer taskId) {
        this.taskId = taskId;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public Date getReportTime() {
        return reportTime;
    }

    public void setReportTime(Date reportTime) {
        this.reportTime = reportTime;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getDifficulties() {
        return difficulties;
    }

    public void setDifficulties(String difficulties) {
        this.difficulties = difficulties;
    }

    public Byte getDifficultyLevel() {
        return difficultyLevel;
    }

    public void setDifficultyLevel(Byte difficultyLevel) {
        this.difficultyLevel = difficultyLevel;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public String getSuggest() {
        return suggest;
    }

    public void setSuggest(String suggest) {
        this.suggest = suggest;
    }

    public Integer getStuId() {
        return stuId;
    }

    public void setStuId(Integer stuId) {
        this.stuId = stuId;
    }

    public Student getStudent() {
        return student;
    }

    public void setStudent(Student student) {
        this.student = student;
    }

    @Override
    public String toString() {
        return "Report{" +
            "id = " + id +
            ", projectId = " + projectId +
            ", taskId = " + taskId +
            ", stuName = " + stuName +
            ", reportTime = " + reportTime +
            ", content = " + content +
            ", difficulties = " + difficulties +
            ", difficultyLevel = " + difficultyLevel +
            ", status = " + status +
            ", suggest = " + suggest +
        "}";
    }
}
